package com.fcscs.ecms.gwt.client;

import java.util.List;

import com.fcscs.cservice.domain.Restaurant;
import com.fcscs.cservice.domain.model.RestaurantView;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface ECMSRestaurantServiceAsync {

	void getRestaurant(long id, AsyncCallback<Restaurant> callback);

	void createRestaurant(Restaurant rest, AsyncCallback<Restaurant> callback);

	void deleteRestaurant(Restaurant rest, AsyncCallback<Boolean> callback);

	void getRestaurantList(long orgId, long propId, boolean isCurrent,
			AsyncCallback<List<Restaurant>> callback);

	void getRestaurantList(long orgId, long propId, long versionId,
			AsyncCallback<List<Restaurant>> callback);

	void getRestaurantViewList(long orgId, long propId,
			AsyncCallback<List<RestaurantView>> callback);

	void isRestaurantTaken(long orgId, long propId, String name, Long id,
			long versionId, AsyncCallback<Boolean> callback);

	void permDeleteRestaurant(Restaurant rest, AsyncCallback<Boolean> callback);

	void saveRestaurantList(List<Restaurant> restList,
			AsyncCallback<List<Restaurant>> callback);

	void saveRestaurant(Restaurant rest, AsyncCallback<Restaurant> callback);

}
